/**
 * 
 */
package dataTypes;

/**
 * Stores sequence data with corresponding qualities.
 * 
 * @author Christian Johansen
 * 
 */
public interface ISequenceData {

	/**
	 * @return the rank of the sequence.
	 */
	public int getRank();

	/**
	 * @return the sequence itself as a <code>byte []</code> containing
	 *         <code>char</code> values of the sequence.
	 */
	public byte[] getSeqData();

	/**
	 * @return the length of the sequence.
	 */
	public int getSeqLength();

	/**
	 * @return the name of the sequence.
	 */
	public String getSeqName();

	/**
	 * @return the quality data in Phred values.
	 */
	public byte[] getSeqQuality();

	/**
	 * @return the x coordinate of the array on which the sequence was
	 *         sequenced.
	 */
	public double getXCoordinate();

	/**
	 * @return the y coordinate of the array on which the sequence was
	 *         sequenced.
	 */
	public double getYCoordinate();

	/**
	 * @return a human-readable <code>String</code> representation of the
	 *         sequence.
	 */
	public String toString();
}
